<?php

/*
 * Evaluacion_escort DAL.
 * @Autor: Inicial.cl.
 */

class Evaluacion_escortDAL {

    //METODO PARA GRABAR EVALUACION_ESCORT.
    public static function grabar($oEvaluacion_escort) {
        try {
            $arr = array(
                "{#IDUSUARIO}" => $oEvaluacion_escort->getIdUsuario(),
                "{#IDESCORT}" => $oEvaluacion_escort->getIdEscort(),
                "{#FECHAEVALUACION}" => $oEvaluacion_escort->getFechaEvaluacion(),
                "{#TRATO}" => $oEvaluacion_escort->getTrato(),
                "{#LUGAR}" => $oEvaluacion_escort->getLugar(),
                "{#CARA}" => $oEvaluacion_escort->getCara(),
                "{#BESOS}" => $oEvaluacion_escort->getBesos(),
                "{#TETAS}" => $oEvaluacion_escort->getTetas(),
                "{#CULO}" => $oEvaluacion_escort->getCulo(),
                "{#MAMON}" => $oEvaluacion_escort->getMamon(),
                "{#MOVIMIENTOS}" => $oEvaluacion_escort->getMovimientos(),
                "{#SONIDO}" => $oEvaluacion_escort->getSonido(),
                "{#ANAL}" => $oEvaluacion_escort->getAnal(),
                "{#HIGIENE}" => $oEvaluacion_escort->getHigiene(),
                "{#EMPOTAMIENTO}" => $oEvaluacion_escort->getEmpotamiento(),
                "{#PHOTOSHOP}" => $oEvaluacion_escort->getPhotoshop(),
                "{#ESDATOCALADO}" => $oEvaluacion_escort->getEsDatoCalado(),
                "{#NOTAFINAL}" => $oEvaluacion_escort->getNotaFinal()
            );
            $query = Util::getQuery($arr, Evaluacion_escortSQL::$GRABAR_EVALUACION_ESCORT);
            $arrDatos = Bd::exec($query);

            $id = Bd::$IDENTITY; //Retorno id insertado
            return $id;
        } catch (Excepcion $e) {
            throw new Exception($e->getMessage());
        }
    }

    //METODO PARA EDITAR EVALUACION_ESCORT.
    public static function editar($oEvaluacion_escort) {
        try {
            $arr = array(
                "{#ID}" => $oEvaluacion_escort->getId(),
                "{#IDUSUARIO}" => $oEvaluacion_escort->getIdUsuario(),
                "{#IDESCORT}" => $oEvaluacion_escort->getIdEscort(),
                "{#FECHAEVALUACION}" => $oEvaluacion_escort->getFechaEvaluacion(),
                "{#TRATO}" => $oEvaluacion_escort->getTrato(),
                "{#LUGAR}" => $oEvaluacion_escort->getLugar(),
                "{#CARA}" => $oEvaluacion_escort->getCara(),
                "{#BESOS}" => $oEvaluacion_escort->getBesos(),
                "{#TETAS}" => $oEvaluacion_escort->getTetas(),
                "{#CULO}" => $oEvaluacion_escort->getCulo(),
                "{#MAMON}" => $oEvaluacion_escort->getMamon(),
                "{#MOVIMIENTOS}" => $oEvaluacion_escort->getMovimientos(),
                "{#SONIDO}" => $oEvaluacion_escort->getSonido(),
                "{#ANAL}" => $oEvaluacion_escort->getAnal(),
                "{#HIGIENE}" => $oEvaluacion_escort->getHigiene(),
                "{#EMPOTAMIENTO}" => $oEvaluacion_escort->getEmpotamiento(),
                "{#PHOTOSHOP}" => $oEvaluacion_escort->getPhotoshop(),
                "{#ESDATOCALADO}" => $oEvaluacion_escort->getEsDatoCalado(),
                "{#NOTAFINAL}" => $oEvaluacion_escort->getNotaFinal()
            );
            $query = Util::getQuery($arr, Evaluacion_escortSQL::$EDITAR_EVALUACION_ESCORT);
            $arrDatos = Bd::exec($query);
        } catch (Excepcion $e) {
            throw new Exception($e->getMessage());
        }
    }

    //METODO PARA LISTAR EVALUACION_ESCORT.
    public static function listar() {
        try {
            $arr = array();
            $query = Util::getQuery($arr, Evaluacion_escortSQL::$LISTAR_EVALUACION_ESCORT);
            $arrDatos = Bd::exec($query);
            $arrEvaluacion_escort = array();

            if (count($arrDatos) > 0) {
                foreach ($arrDatos as $row) {
                    $oEvaluacion_escort = new Evaluacion_escort();

                    $oEvaluacion_escort->setId($row["id"]);
                    $oEvaluacion_escort->setIdUsuario($row["idUsuario"]);
                    $oEvaluacion_escort->setIdEscort($row["idEscort"]);
                    $oEvaluacion_escort->setFechaEvaluacion($row["fechaEvaluacion"]);
                    $oEvaluacion_escort->setTrato($row["trato"]);
                    $oEvaluacion_escort->setLugar($row["lugar"]);
                    $oEvaluacion_escort->setCara($row["cara"]);
                    $oEvaluacion_escort->setBesos($row["besos"]);
                    $oEvaluacion_escort->setTetas($row["tetas"]);
                    $oEvaluacion_escort->setCulo($row["culo"]);
                    $oEvaluacion_escort->setMamon($row["mamon"]);
                    $oEvaluacion_escort->setMovimientos($row["movimientos"]);
                    $oEvaluacion_escort->setSonido($row["sonido"]);
                    $oEvaluacion_escort->setAnal($row["anal"]);
                    $oEvaluacion_escort->setHigiene($row["higiene"]);
                    $oEvaluacion_escort->setEmpotamiento($row["empotamiento"]);
                    $oEvaluacion_escort->setPhotoshop($row["photoshop"]);
                    $oEvaluacion_escort->setEsDatoCalado($row["esDatoCalado"]);
                    $oEvaluacion_escort->setNotaFinal($row["notaFinal"]);

                    $arrEvaluacion_escort[] = $oEvaluacion_escort;
                }
            }

            return $arrEvaluacion_escort;
        } catch (Excepcion $e) {
            throw new Exception($e->getMessage());
        }
    }
    
    //METODO PARA LISTAR EVALUACION_ESCORT.
    public static function listarPorEscort($idEscort) {
        try {
            $arr = array(
                "{#IDESCORT}" => $idEscort
            );
            $query = Util::getQuery($arr, Evaluacion_escortSQL::$LISTAR_EVALUACION_POR_ESCORT);
            $arrDatos = Bd::exec($query);
            $oEvaluacion_escort = null;
            
            if (count($arrDatos) > 0) {
                $oEvaluacion_escort = new Evaluacion_escort();
                
                foreach ($arrDatos as $row) {
                    $oEvaluacion_escort->setTrato($row["trato"]);
                    $oEvaluacion_escort->setLugar($row["lugar"]);
                    $oEvaluacion_escort->setCara($row["cara"]);
                    $oEvaluacion_escort->setBesos($row["besos"]);
                    $oEvaluacion_escort->setTetas($row["tetas"]);
                    $oEvaluacion_escort->setCulo($row["culo"]);
                    $oEvaluacion_escort->setMamon($row["mamon"]);
                    $oEvaluacion_escort->setMovimientos($row["movimientos"]);
                    $oEvaluacion_escort->setSonido($row["sonido"]);
                    $oEvaluacion_escort->setAnal($row["anal"]);
                    $oEvaluacion_escort->setHigiene($row["higiene"]);
                    $oEvaluacion_escort->setEmpotamiento($row["empotamiento"]);
                    $oEvaluacion_escort->setPhotoshop($row["photoshop"]);
                    $oEvaluacion_escort->setNotaFinal($row["notaFinal"]);
                    $oEvaluacion_escort->setNumeroEvaluaciones($row["numeroEvaluaciones"]);
                }                            
            }
            return $oEvaluacion_escort;
        } catch (Excepcion $e) {
            throw new Exception($e->getMessage());
        }
    }

    //METODO PARA OBTENER POR ID EVALUACION_ESCORT.
    public static function obtenerPorId($id) {
        try {
            $arr = array(
                "{#ID}" => $id
            );
            $query = Util::getQuery($arr, Evaluacion_escortSQL::$OBTENER_EVALUACION_ESCORT_POR_ID);
            $arrDatos = Bd::exec($query);

            if (count($arrDatos) > 0) {
                $oEvaluacion_escort = new Evaluacion_escort();

                foreach ($arrDatos as $row) {
                    $oEvaluacion_escort->setId($row["id"]);
                    $oEvaluacion_escort->setIdUsuario($row["idUsuario"]);
                    $oEvaluacion_escort->setIdEscort($row["idEscort"]);
                    $oEvaluacion_escort->setFechaEvaluacion($row["fechaEvaluacion"]);
                    $oEvaluacion_escort->setTrato($row["trato"]);
                    $oEvaluacion_escort->setLugar($row["lugar"]);
                    $oEvaluacion_escort->setCara($row["cara"]);
                    $oEvaluacion_escort->setBesos($row["besos"]);
                    $oEvaluacion_escort->setTetas($row["tetas"]);
                    $oEvaluacion_escort->setCulo($row["culo"]);
                    $oEvaluacion_escort->setMamon($row["mamon"]);
                    $oEvaluacion_escort->setMovimientos($row["movimientos"]);
                    $oEvaluacion_escort->setSonido($row["sonido"]);
                    $oEvaluacion_escort->setAnal($row["anal"]);
                    $oEvaluacion_escort->setHigiene($row["higiene"]);
                    $oEvaluacion_escort->setEmpotamiento($row["empotamiento"]);
                    $oEvaluacion_escort->setPhotoshop($row["photoshop"]);
                    $oEvaluacion_escort->setEsDatoCalado($row["esDatoCalado"]);
                    $oEvaluacion_escort->setNotaFinal($row["notaFinal"]);
                }
                return $oEvaluacion_escort;
            }
        } catch (Excepcion $e) {
            throw new Exception($e->getMessage());
        }
    }

    //METODO PARA ELIMINAR EVALUACION_ESCORT.
    public static function eliminar($id) {
        try {
            $arr = array("{#ID}" => $id);
            $query = Util::getQuery($arr, Evaluacion_escortSQL::$ELIMINAR_EVALUACION_ESCORT);
            $arrDatos = Bd::exec($query);
        } catch (Excepcion $e) {
            throw new Exception($e->getMessage());
        }
    }

}

?>